═══ 1. Breakpoints ═══ Breakpoints can be set on lines in the Rexx macro to cause RxD to stop running the macro at that line when the Go action is selected. Lines with breakpoints can be displayed in a different color than the other lines displayed in the source window. Note that ANY line may have a breakpoint on it, even if it is not possible for rexx to 'run' that line (a line of comments, for instance (see limitations for more information). Lines that do not contain executable code will NOT be stopped at (of course). Note that a breakpoint is hit AFTER the line with the breakpoint has been executed. See limitations for more information. Breakpoints may be set (or unset) in one of three ways: o Double clicking mouse button 1 in the left margin of a line. o Pressing Alt+F9 with the cursor on the line to set the breakpoint. o Selecting the Set/unset a breakpoint menu item with the cursor on the line to set the breakpoint. Each action either sets a breakpoint on a line, or if there is already a breakpoint on the line, removes the breakpoint. ═══ 2. Limitations of RXD ═══ RxD does NOT parse Rexx macros. It relies on the system trace exit to determine what lines are executing. Because of this, it is not possible for RxD to determine what is really on a line. For instance, it allows any line to have a breakpoint set on it, even if it is not an executable line. Even more disturbing (!) is that RxD always displays things that have already happened, not things that WILL happen. For instance, when single stepping through a program, RxD will highlight the line that JUST executed, not the line that WILL be executed. This is the way the Rexx trace exit works. There's nothing I can do about it. RxD cannot read lines from the console with the linein() function. Since the console is normally closed by Presentation Manager when a PM application starts, it will appear to the macro that the console is at end of file. Note that 'pull' and 'parse pull' statements are caught by RxD, and will cause a line entry dialog to be displayed. Also note that if standard input is redirected to RxD, this input WILL be picked up by the macro with the linein() function. If the REXX macro being debugged calls another REXX macro which executes a trace statement, RxD will go haywire. What happens is that line number information is returned from the called macro, and that line number information is used to display the original macro. Execute a GO to return to the original macro. OS/2 commands normally handled by CMD.EXE internally and that also change the state of CMD.EXE will not work properly under RxD. This include the "SET" and "CD" commands, as well as specifying a drive letter and colon to change drives. There are alternatives to these commands: o use the directory() function instead of "CHDIR" or "c:" o use the value() function to set OS/2 environment variables ═══ 3. Watching variables ═══ Variables may be watched in the Watch window. In this window, rexx variable names are displayed, and their current values. The variable and value are separated by a tab character (which will cause variables whose names are about the same length to have their values lined up). The hex 00's, carriage returns, line feeds, and tab characters are all translated to hex 01 (smiley face) within the value. Watch variables may be added in one of the following ways. Note that all of these methods do different things depending on whether any text is selected in the Source window. If text is selected, it is assumed to be a variable name, and will be added to the Watch window immediately. If no text is selected, a dialog will be displayed to enter the name of the variable to be watched. Double clicking mouse button 1 on a variable in the source window will select the variable. o Selecting the Add Watch! menu button o Pressing Ctrl-a o Selecting the Add a watch variable menu item ═══ 4. Source window ═══ The RxD source window displays the Rexx macro currently running. ═══ 4.1. Actions ═══ This menu contains actions that can be performed in this window. ═══ 4.1.1. Set/unset a breakpoint ═══ This menu item is used to set or unset a breakpoint on the line the cursor is on. Breakpoints may also be set by double clicking mouse button 1 in the left margin of the line desired. ═══ 4.1.2. Add a watch variable ═══ This menu item adds a variable to the watch window. If a there is selected text in the source window (from either selecting text with the keyboard or mouse, or by double clicking mouse button 1 on a variable), the selected text will be used as the variable to watch. If there is no selected text, you will be prompted for the variable name in a dialog. ═══ 4.1.3. Jump to current ═══ This menu item scrolls the source window to the line just execcuted. Useful if you are browsing through the text in the source window and want to get back to the current context. ═══ 4.2. Run ═══ This menu contains actions pertaining to the execution of the macro. ═══ 4.2.1. Step ═══ This menu item causes the next statement to be executed, and the macro to be paused until you step or Run ═══ 4.2.2. Go ═══ This menu item causes the macro to run until it completes (exits), or a breakpoint is hit. ═══ 4.2.3. Restart ═══ This menu item causes the macro to exit, and then restart from the beginning. ═══ 4.2.4. Reload source ═══ This menu item causes the macro to exit, then restart from the beginning. The source for the macro will also be reloaded from disk. ═══ 4.3. Settings ═══ This menu contains actions pertaining to customizable settings for the window. ═══ 4.3.1. Color ═══ This menu item displays a dialog which allows you to select the colors used for various items in the window. ═══ 4.3.2. Font ═══ This menu item displays a dialog which allows you to select the font to be used for the text in the window. ═══ 4.3.3. Save window size and position ═══ This menu item causes the current size and position of the window to be saved. The next time RxD is run and this window is displayed, it will be placed in the same position and have the same size. ═══ 4.4. Windows ═══ This menu contains a list of other windows which may be displayed. ═══ 4.4.1. Watch ═══ This menu item causes the watch window to be displayed. ═══ 4.4.2. Console ═══ This menu item causes the console window to be displayed. ═══ 4.4.3. Keys help ═══ The following keys are available in the source window: F5 See the Go menu item. F6 See the Jump to current menu item. F8 See the Step menu item. F9 See the Set/unset a breakpoint menu item. ctrl+w See the Watch menu item. ctrl+c See the Console menu item. ctrl+a See the Add a watch variable menu item. Other keys respond the same as keys in multi-line edit windows. ═══ 4.4.4. Product information ═══ This menu item shows product information. ═══ 5. Watch window ═══ The watch window displays variables being watched by RxD. Variables and their values are listed in this window. They are on the same line and separated by a tab. After a step operation, or when a breakpoint is reached, the values of the variables in the watch window are updated. Variables may be deleted from the watch window with the Delete variable menu item. Variables may be added to the watch window with the Add variable menu item. RxD translates some characters in values to hex '01' to prevent problems with the display. The characters translated are hex '00', carriage return (hex '0D'), line feed (hex '0A') and tab (hex '09'). ═══ 5.1. Actions ═══ The Actions menu list various actions that can be performed in this window. ═══ 5.1.1. Add a variable to the watch window ═══ This menu item displays a dialog to allow a variable to be added to the watch window. ═══ 5.1.2. Delete a variable from the watch window ═══ This menu item deletes the variable pointed to by the cursor from the watch window. ═══ 5.1.3. Delete all variables from the watch window ═══ This menu item deletes all the variables from the watch window. ═══ 5.2. Settings ═══ This menu contains actions pertaining to customizable settings for the window. ═══ 5.2.1. Color ═══ This menu item displays a dialog which allows you to select the colors used for various items in the window. ═══ 5.2.2. Font ═══ This menu item displays a dialog which allows you to select the font to be used for the text in the window. ═══ 5.2.3. Save window size and position ═══ This menu item causes the current size and position of the window to be saved. The next time RxD is run and this window is displayed, it will be placed in the same position and have the same size. ═══ 5.3. Windows ═══ This menu contains a list of other windows which may be displayed. ═══ 5.3.1. Source ═══ This menu item causes the source window to be displayed. ═══ 5.3.2. Console ═══ This menu item causes the console window to be displayed. ═══ 5.3.3. Keys help ═══ The following keys are available in the source window: ctrl+a See the Add a Watch Variable menu item. ctrl+d See the Delete a Watch Variable menu item. ctrl+s See the Source menu item. ctrl+c See the Console menu item. Other keys respond the same as keys in multi-line edit windows. ═══ 5.3.4. Product information ═══ This menu item shows product information. ═══ 6. Console window ═══ The console window contains input and output from the Rexx macro. Each type of input and output can be captured or not, and hidden or not. When capture is on for a type input or output, that data is added to the console window. When capture is off, that data is NOT added to the console window. Capture is on by default for all types of input and output, except trace output. Capture trace output can significantly degrade the performance of RxD. When a type of input or output is hidden, it is temporarily hidden from view. When un-hidden (by toggling the menu item so it is no longer checked), the data is displayed again. ═══ 6.1. Actions ═══ The Actions menu list various actions that can be performed in this window. ═══ 6.1.1. Clear ═══ This menu item clears the contents of the console window ═══ 6.2. Capture ═══ This menu lists the input and output types that may be captured. ═══ 6.2.1. Capture say output ═══ Captures (or not) output from the say statement. ═══ 6.2.2. Capture standard output ═══ Captures (or not) standard output. ═══ 6.2.3. Capture standard error ═══ Captures (or not) standard error. ═══ 6.2.4. Capture trace output ═══ Captures (or not) diagnostic trace output. Off by default since it will degrade RxD performance if left on. ═══ 6.2.5. Capture pull input ═══ Captures (or not) data retrieved from the pull or parse pull statement. ═══ 6.3. Hide ═══ This menu lists the input and output types that may be hidden. ═══ 6.3.1. Hide say output ═══ Hides (or shows) output from the say statement. ═══ 6.3.2. Hide standard output ═══ Hides (or shows) standard output. ═══ 6.3.3. Hide standard error ═══ Hides (or shows) standard error. ═══ 6.3.4. Hide trace output ═══ Hides (or shows) diagnostic trace output. ═══ 6.3.5. Hide pull input ═══ Hides (or shows) lines retrieved from the pull or parse pull statement. ═══ 6.4. Settings ═══ This menu contains actions pertaining to customizable settings for the window. ═══ 6.4.1. Color ═══ This menu item displays a dialog which allows you to select the colors used for various items in the window. ═══ 6.4.2. Font ═══ This menu item displays a dialog which allows you to select the font to be used for the text in the window. ═══ 6.4.3. Save window size and position ═══ This menu item causes the current size and position of the window to be saved. The next time RxD is run and this window is displayed, it will be placed in the same position and have the same size. ═══ 6.5. Windows ═══ This menu contains a list of other windows which may be displayed. ═══ 6.5.1. Source ═══ This menu item causes the source window to be displayed. ═══ 6.5.2. Watch ═══ This menu item causes the watch window to be displayed. ═══ 6.5.3. Keys help ═══ The following keys are available in the source window: ctrl+s See the Source menu item. ctrl+w See the Watch menu item. Other keys respond the same as keys in multi-line edit windows. ═══ 6.5.4. Product information ═══ This menu item shows product information. ═══ 7. Console input dialog ═══ This dialog is prompting you for a line of input. Enter the line and press Enter to continue. Press Esc or Enter with an empty line to Cancel. ═══ 7.1. Console input entry field ═══ This dialog is prompting you for a line of input. Enter the line and press Enter to continue. Press Esc or Enter with an empty line to Cancel. ═══ 8. Add variable dialog ═══ This dialog is prompting you for a variable name to be watched. Enter the variable name and press Enter to continue. Press Esc or Enter with an empty line to Cancel. ═══ 8.1. Add variable entry field ═══ This dialog is prompting you for a variable name to be watched. Enter the variable name and press Enter to continue. Press Esc or Enter with an empty line to Cancel. ═══ 9. Color dialog ═══ This dialog allows you to choose a color to be associated with some text displayed by RxD. Selecting a text type will display the current color for that text. Changing the color by selecting with cursor or mouse will change it in the application. Selecting Cancel will restore the previous color choice. Selecting Ok will save the current color for the next invocation of RxD. ═══ 9.1. Output type list ═══ This list displays the types of text that may be colored in this window. ═══ 9.2. Color values ═══ This value set displays the possible colors that can be associated with a type of text.